<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />

<title>Design Patterns Revisited &middot; Game Programming Patterns</title>

<!-- Tell mobile browsers we're optimized for them and they don't need to crop
     the viewport. -->
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" type="text/css" href="style.css" />
<link href="http://fonts.googleapis.com/css?family=Merriweather:400,400italic,700,700italic|Source+Code+Pro|Source+Sans+Pro:200,300,400,600,400italic,600italic|Rock+Salt" rel="stylesheet" type="text/css">
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-42804721-1', 'gameprogrammingpatterns.com');
  ga('send', 'pageview');
</script>
<script src="jquery-1.10.1.min.js"></script>
<script src="script.js"></script>
</head>
<body id="top">
<div class="page sidebar">
<div class="content">
<nav class="top">
  <span class="prev">&larr; <a href="architecture-performance-and-games.html">Previous Chapter</a></span>
  <span class="next"><a href="command.html">Next Chapter</a> &rarr;</span>
  <span class="toc">&equiv; <a href="/">The Book</a></span>
</nav>
<h1>Design Patterns Revisited</h1>
<h1 class="book"><a href="/">Game Programming Patterns</a></h1>
<p><em>Design Patterns: Elements of Reusable Object-Oriented Software</em> is nearly
twenty years old by my watch. Unless you&#8217;re looking over my shoulder, there&#8217;s a
good chance <em>Design Patterns</em> will be old enough to drink by the time you read
this. For an industry as quickly moving as software, that&#8217;s practically ancient.
The enduring popularity of the book says something about how timeless design
is compared to many frameworks and methodologies.</p>
<p>While I think <em>Design Patterns</em> is still relevant, we&#8217;ve learned a lot in the
past couple of decades. In this section, we&#8217;ll walk through a handful of the
original patterns the Gang of Four documented. For each pattern, I hope to have
something useful or interesting to say.</p>
<p>I think some patterns are overused (<a href="singleton.html">Singleton</a>),
while others are underappreciated (<a href="command.html">Command</a>). A couple
are in here because I want to explore their relevance specifically to games (<a
href="flyweight.html">Flyweight</a> and <a href="observer.html">Observer</a>).
Finally, sometimes I just think it&#8217;s fun to see how patterns are enmeshed in
the larger field of programming (<a href="prototype.html">Prototype</a> and <a
href="state.html">State</a>).</p>
<h2><a href="#the-patterns" name="the-patterns">The Patterns</a></h2>
<ul>
<li><a href="command.html">Command</a></li>
<li><a href="flyweight.html">Flyweight</a></li>
<li><a href="observer.html">Observer</a></li>
<li><a href="prototype.html">Prototype</a></li>
<li><a href="singleton.html">Singleton</a></li>
<li><a href="state.html">State</a></li>
</ul>
<nav>
  <span class="prev">&larr; <a href="architecture-performance-and-games.html">Previous Chapter</a></span>
  <span class="next"><a href="command.html">Next Chapter</a> &rarr;</span>
  <span class="toc">&equiv; <a href="/">The Book</a></span>
</nav>
</div>
</div>
<footer>&copy; 2009-2014 Robert Nystrom</footer>
</body>
</html>
